Skip to main content

Full text of "Minimum-Cost Multicast over Coded Packet Networks"

See other formats


arXiv:cs/0503064v2 [cs.IT] 31 Jan 2006 


1 


Minimum-Cost Multicast over 
Coded Packet Networks 

Desmond S. Lun, Niranjan Ratnakar, Muriel Medard, Ralf Koetter, 
David R. Karger, Tracey Ho, Ebad Ahmed, and Fang Zhao 


Abstract — We consider the problem of establishing minimum- 
cost multicast connections over coded packet networks, i.e. 
packet networks where the contents of outgoing packets are 
arbitrary, causal functions of the contents of received packets. We 
consider both wireline and wireless packet networks as well as 
both static multicast (where membership of the multicast group 
remains constant for the duration of the connection) and dynamic 
multicast (where membership of the multicast group changes in 
time, with nodes joining and leaving the group). 

For static multicast, we reduce the problem to a polynomial- 
time solvable optimization problem, and we present decentralized 
algorithms for solving it. These algorithms, when coupled with 
existing decentralized schemes for constructing network codes, 
yield a fully decentralized approach for achieving minimum- 
cost multicast. By contrast, establishing minimum-cost static 
multicast connections over routed packet networks is a very 
difficult problem even using centralized computation, except in 
the special cases of unicast and broadcast connections. 

For dynamic multicast, we reduce the problem to a dynamic 
programming problem and apply the theory of dynamic pro¬ 
gramming to suggest how it may be solved. 

Index Terms —Ad hoc networks, communication networks, 
distributed algorithms, dynamic multicast groups, multicast, 
network coding, network optimization, wireless networks 


I. Introduction 

A typical node in today’s packet networks is capable of two 
functions: forwarding (i.e. copying an incoming packet onto 
an outgoing link) and replicating (i.e. copying an incoming 
packet onto several outgoing links). But there is no intrinsic 
reason why we must assume these are the only functions ever 

This work was supported by the National Science Foundation under grant 
nos. CCR-0093349, CCR-0325496, and CCR-0325673; by the Army Research 
Office through University of California subaward no. S0176938; by the Office 
of Naval Research under grant no. N00014-05-1-0197; and by the Vodafone 
Foundation. 

This paper was presented in part at the International Symposium on 
Information Theory and its Applications, Parma, Italy, October 2004; in part 
at IEEE Infocom, Miami, FL, March 2005; in part at the First Workshop on 
Network Coding, Theory, and Applications, Riva del Garda, Italy, April 2005; 
and in part at the International Zurich Seminar on Communications, Zurich, 
Switzerland, February 2006 

D. S. Lun, M. Medard, E. Ahmed, and F. Zhao are with the Laboratory for 
Information and Decision Systems, Massachusetts Institute of Technology, 
Cambridge, MA 02139, USA (e-mail: dslun@mit.edu, medard@mit.edu, 
ebad@mit.edu, zhaof@mit.edu). 

N. Ratnakar and R. Koetter are with the Coordinated Science Laboratory, 
University of Illinois at Urbana-Champaign, Urbana, IL 61801, USA (e-mail: 
ratnakar@uiuc.edu, koetter@uiuc.edu). 

D. R. Karger is with the Computer Science and Artificial Intelligence 
Laboratory, Massachusetts Institute of Technology, Cambridge, MA 02139, 
USA (e-mail: karger@mit.edu). 

T. Ho is with the Department of Electrical Engineering, California Institute 
of Technology, Pasadena, CA 91125, USA (e-mail: tho@caltech.edu) 


permitted to nodes and, in application-level overlay networks 
and multi-hop wireless networks, for example, allowing nodes 
to have a wider variety of functions makes sense. We therefore 
consider packet networks where the contents of outgoing 
packets are arbitrary, causal functions of the contents of 
received packets, and we call such networks coded packet 
networks. 

Coded packet networks were put forward by Ahlswede et al. 
[1], and numerous subsequent papers, e.g., [2], [3], [4], [5], [6], 
have built upon their work. These papers, however, all assume 
the availability of dedicated network resources, and scant 
attention is paid to the problem of determining the allocation 
of network resources to dedicate to a particular connection 
or set of connections. This is the problem we tackle. More 
precisely, we aim to find minimum-cost subgraphs that allow 
given multicast connections to be established (with appropriate 
coding) over coded packet networks. 

The analogous problem for routed packet networks is old 
and difficult. It dates to the 1980s and, in the simplest case— 
that of static multicast in wireline networks with linear cost— 
it equates to the Steiner tree problem, which is well-known 
to be NP-complete [7], [8]. The emphasis, therefore, has 
been on heuristic methods. These methods include heuristics 
for the Steiner tree problem on undirected (e.g., [7], [9], 
[8]) and directed (e.g., [10], [11], [12]) graphs, for multicast 
tree generation in wireless networks (e.g. [13]), and for the 
dynamic or on-line Steiner tree problem (e.g., [8], [14], [15]). 
Finding minimum-cost subgraphs in coded packet networks, 
however, is much easier and as we shall see, in many cases, 
we are able to find optimal subgraphs in polynomial time us¬ 
ing decentralized computation. Moreover, since coded packet 
networks are less constrained than routed ones, the minimum 
cost for a given connection is generally less. 

In our problem, we take given multicast connections and 
thus include unicast and broadcast connections as special 
cases. But we do not consider optimizing the subgraph for 
multiple connections taking place simultaneously. One reason 
for this is that coding for multiple connections is a very 
difficult problem—one that, in fact, remains currently open 
with only cumbersome bounds on the asymptotic capability 
of coding [16] and examples that demonstrate the insuffi¬ 
ciency of various classes of linear codes [17], [18], [19], 
[20]. An obvious, but sub-optimal, approach to coding is to 
code for each connection separately, which is referred to as 
superposition coding [21]. When using superposition coding, 
finding minimum-cost allocations for multiple connections 
means extending the approach for single connections (namely. 


2 


the approach taken in this paper) in a straightforward way 
that is completely analogous to the extension that needs 
to be done for traditional routed packet networks, and this 
problem of minimum-cost allocations for multiple connections 
using superposition coding is addressed in [22]. An alternative 
approach to coding that outperforms superposition coding, but 
that remains sub-optimal, is discussed in [23]. 

We choose here to restrict our attention to single connec¬ 
tions because the subgraph selection problem is simpler and 
because minimum-cost single connections are interesting in 
their own right: Whenever each multicast group has a selfish 
cost objective, or when the network sets link weights to meet 
its objective or enforce certain policies and each multicast 
group is subject to a minimum-weight objective, we wish to 
set up single multicast connections at minimum cost. 

Finally, we mention that a related problem to subgraph se¬ 
lection, that of throughput maximization, is studied for coded 
networks in [24], [25] and that an alternative formulation 
of the subgraph selection problem for coded wireless packet 
networks is given in [26]. 

The body of this paper is composed of four sections: Sec¬ 
tions |nl and ||nl deal with static multicast (where membership 
of the multicast group remains constant for the duration of 
the connection) for wireline and wireless packet networks, 
respectively; Section EYl gives a comparison of the proposed 
techniques for static multicast with techniques in routed packet 
networks; and Section^deals with dynamic multicast (where 
membership of the multicast group changes in time, with 
nodes joining and leaving the group). We conclude in Sec¬ 
tion EH and, in so doing, we give a sampling of the avenues 
for future investigation that our work opens up. 


II. Wireline packet networks 


We represent the network with a directed graph Q = 
(A/”, v4), where Af is the set of nodes and A is the set of 
arcs. Each arc ( 2 ,j) represents a lossless point-to-point link 
from node i to node j. We denote by Zij the rate at which 
coded packets are injected into arc ( 2 ,j). The rate vector z, 
consisting of Zij, {i,j) G A, is called a subgraph, and we 
assume that it must lie within a constraint set Z for, if not, 
the packet queues associated with one or more arcs becomes 
unstable. We reasonably assume that Z is a convex subset of 
the positive orthant containing the origin. We associate with 
the network a cost function / (reflecting, for example, the 
average latency or energy consumption) that maps valid rate 
vectors to real numbers and that we seek to minimize. 

Suppose we have a source node s wishing to transmit 
packets at a positive, real rate i? to a non-empty set of sink 
nodes T. Consider the following optimization problem: 


minimize 

/(^) 




subject to 

z ^ 





— ^\j — 0, 

V 

ifj) G A, t GT. 

E 

Xi) 

■^ij 

E 

Jt) 

■^jt 







y iGN,tGT, 


( 1 ) 


where 

(R if i = s, 



I 0 otherwise. 

Theorem 1: The vector z is part of a feasible solution 
for the optimization problem ([0 if and only if there exists 
a network code that sets up a multicast connection in the 
wireline network represented by graph Q at rate arbitrarily 
close to R from source s to sinks in the set T and that injects 
packets at rate arbitrarily close to Zij on each arc ( 2 ,j). 

Proof: First suppose that 2 ; is part of a feasible solution 
for the problem. Then, for any t in T, we see that the maximum 
flow from s to f in the network where each arc ( 2 ,j) has 
maximum input rate Zij is at least R. So, by Theorem 1 of [1], 
a coding solution that injects packets at rate arbitrarily close to 
Zij on each arc {i,j) exists. Conversely, suppose that we have 
a coding solution that injects packets at rate arbitrarily close 
to Zij on each arc (i, j). Then the maximum input rate of each 
arc must be at least Zij and moreover, again by Theorem 1 of 
[1], flows of size R exist from s to f for each t in T. Therefore 
the vector z is part of a feasible solution for the optimization 
problem. ■ 

From Theorem E it follows immediately that optimization 
problem ([0 finds the optimal cost for an asymptotically- 
achievable, rate-ii multicast connection from s to T. 

As an example, consider the network depicted in Fig- 
ure |l(a)| We wish to achieve multicast of unit rate to two sinks, 
ti and t 2 . We have Z = [0, and f{z) = 
where is the cost per unit rate shown beside each link. 
An optimal solution to problem m for this network is shown 
in Figure |l(b)| We have flows, and of unit size 
from s to ti and t 2 , respectively and, for each arc 
Zij = inax{x[j\ as we expect from the optimization. 

To achieve the optimal cost, we code over the subgraph z. A 
code of length 2 for the subgraph is given in [1, Figure 7], 
which we reproduce in Figure PTc}| In the figure, Xi and X 2 
refer to the two packets in a coding block. The coding that is 
performed is that one of the interior nodes receives both Xi 
and X 2 and forms the binary sum of the two, outputting the 
packet Xi -f X 2 . The code allows both ti and t 2 to recover 
both Xi and X 2 and it achieves a cost of 19/2. 

Given a solution of problem Q, there are various coding 
schemes that can be used to realize the connection. The 
schemes described in [27], [6] operate continuously, with each 
node continually sending out packets as causal functions of 
received packets. The schemes described in [1], [2], [3], [4], 
[5], on the other hand, operate in a block-by-block manner, 
with each node sending out a block of packets as a function of 
its received block. In the latter case, the delay incurred by each 
arc’s block is upper bounded hy 5/R for some non-negative 
integer 5 provided that ZijjR G 'Ll5 for all {i,j) G A. We 
unfortunately cannot place such constraints into problem Q 
since they would make it prohibitively difficult. An alternative 
is, given z, to take \5z/R\R/5 as the subgraph instead. Since 
\5z/R^R/d < {5z/R + f)R/5 = z + R/5, we can guarantee 
that \5z/R\Rl5 lies in the constraint set Z by looking at 


3 





(c) Each arc is marked with its code. 
Fig. 1. A network with multicast from s to T = {fi, ^ 2 }- 


z + R /5 instead of z, resulting in the optimization problem 
minimize f{z + R/S) 
subject to z + R/S € Z, 


> 0 , 

2.(‘) 


ihj) & -A, t G T, 




( 2 ) 


Z 4 “- E 

'i iGN,tGT. 

We see that, by suitable redefinition of / and Z, problem (|3 
can be reduced to problem m. Hence, in the remainder of the 
paper, we focus only on problem 0 . 

A. Linear, separable cost and separable constraints 

The case of linear, separable cost and separable constraints 
addresses scenarios where a fixed cost (e.g., monetary cost, 
energy cost, or imaginary weight cost) is paid per unit rate 
placed on an arc and each arc is subject to a separate constraint 
(the closed interval from 0 to some non-negative capacity). 
This is the case in the network depicted in Figure |l(a)| So, 
with each arc we associate non-negative numbers 

and Cij, which are the cost per unit rate and the capacity of the 
arc, respectively. Hence, the optimization problem Q becomes 
the following linear optimization problem. 

minimize a^- Zy 

subject to dj > Zij, V {i,j) G A, 

V(t,j)G4iGT, (3) 


Zij > x[f > 0 , 




Jt) _ 

Xij 


E 


(t) (i) 

t \ ■ = rr- 


y iGN,tGT. 

Unfortunately, the linear optimization problem 0 as it 
stands requires centralized computation with full knowledge 
of the network. Motivated by successful network algorithms 
such as distributed Bellman-Ford [28, Section 5.2], we seek 
a decentralized method for solving problem 0, which, when 
married with decentralized schemes for constructing network 
codes [5], [6], [27], results in a fully decentralized approach 
for achieving minimum-cost multicast in the case of linear, 
separable cost and separable constraints. 

Toward the end of developing such an algorithm, we con¬ 
sider the Lagrangian dual problem 


maximize 

t£T 

subject to = aij, V {i,j) G A, 

V (ij) GA,tGT, 


tGT 


f!? > 0, 


where 




mm 


V 

{i,3)eA 


Pij Xij , 


(4) 


(5) 


and is the bounded polyhedron of points x^^'l satisfying 
the conservation of flow constraints 


(i) 


E -"u 


E 

{jlUA^A} 


(t) (t) 


y iGAf, 



















4 


and capacity constraints 

0<x\f<Cij, W{i,j)GA. 

Subproblem (0 is a standard linear minimum-cost flow 
problem, which can be solved using a multitude of different 
methods (see, for example, [29, Chapters 4-7] or [30, Chapters 
9-11]); in particular, it can be solved in an asynchronous, 
distributed manner using the e-relaxation method [31, Sections 
5.3 and 6.5]. In addition, if the connection rate is small 
compared to the arc capacities (more precisely, if i? < aj for 
all {i,j) S A), then subproblem 0 reduces to a shortest path 
problem, which admits a simple, asynchronous, distributed 
solution [28, Section 5.2]. 

Now, to solve the dual problem 0 , we employ subgradient 
optimization (see, for example, [32, Section 6.3.1] or [33, 
Section 1.2.4]). We start with an iterate p[0] in the feasible 
set of 0 and, given an iterate p[n] for some non-negative 
integer n, we solve subproblem for each f in T to obtain 
x[n]. We then assign 

Pij[n+1] := argminy^(u*^*^ - {p[f [n] + 9[n]x[f [n]))'^ (6) 

vePij 

for each {i,j) C A, where Py is the |T|-dimensional simplex 


P — 


= Uij, V > 0 

teT 


and 6[n] > 0 is an appropriate step size. Thus, Pij[n + 1] is 
set to be the Euclidean projection of Pij[n] + 6[n]xij[n] onto 
P 

To perform the projection, we use the following algorithm, 
the justification of which we defer to Appendix |I] Let u := 
Pij\n] + d[n]xij[n] and suppose we index the elements of T 
such that > ... > Take k to be the 

smallest k such that 


1 

k 



tig 




or set k = \T\ if no such k exists. Then the projection is 
achieved by 









if t G 
otherwise. 


The disadvantage of subgradient optimization is that, whilst 
it yields good approximations of the optimal value of the 
Lagrangian dual problem 0 after sufficient iteration, it does 
not necessarily yield a primal optimal solution. There are, 
however, methods for recovering primal solutions in subgra¬ 
dient optimization. We employ the following method, which 
is due to Sherali and Choi [34]. 

Let {pi[n]}i=i^,,,^n be a sequence of convex combination 
weights for each non-negative integer n, i.e. Mi W = 1 

and pi[n] > 0 for all I = 1,... ,n. Lurther, let us define 




and 

A7n“ := , max {-jin - 7(/-i)n}- 

If the step sizes {0[n]} and convex combination weights 
{/i;[n]} are chosen such that 

1) 7in > 7(i-i)n for alU = 2,..., n and n = 0,1,..., 

2) A 7 ““ ^ 0 as n ^ oo, and 

3) 7in ^ 0 as n ^ oo and 7 „„ < S for all n = 0,1,... 
for some (5 > 0, 

then we obtain an optimal solution to the primal problem 0 
from any accumulation point of the sequence of primal iterates 
{i[n]} given by 

n 

x[n]-.= '^p,i[n]x[l], n = 0,1,.... (7) 

i=i 

We justify this primal recovery method in Appendix U 

The required conditions on the step sizes and convex 
combination weights are satisfied by the following choices [34, 
Corollaries 2-4]: 

1) step sizes {0[n]} such that 9[n] > 0, lim„^o^N = 

0, = oo, and convex combination weights 

{pi[n]} given by p.i[n] = 9[l]/9[k] for all I = 
1,..., n, n = 0,1,...; 

2) step sizes given by 9[n] = a/{b -f cn) for all 

n = 0,1,..., where a > 0, b > 0 and c > 0, and convex 
combination weights {pi[n]} given by pi[n] = 1/n for 
all I = 1 ,... ,n, n = 0,1,...; and 

3) step sizes {0[n]} given by 6*[n] = n~°‘ for all n = 
0,1,..., where 0 < a < 1, and convex combination 
weights {pi[n]} given by pi[n] = 1/n for all I = 
1,..., n, n = 0,1,.... 

Moreover, for all three choices, we have p,i[n + l]/^/[n] 
independent of I for all n, so primal iterates can be computed 
iteratively using 

n 

x[n] = [n]x[l] 

1^1 
n—1 

= ^i[n]x[l] + iJin[n]x[n] 

1^1 

= (/[n — l]x[n — 1] + /r„[n]a;[n], 

where (/[n] := pi[n + l]/p.i[n]. 

We now have a relatively simple algorithm for computing 
optimal feasible solutions to problem 0 in a decentralized 
manner, with computation taking place at each node, which 
needs only to be aware of the capacities and costs of its 
incoming and outgoing arcs. Lor example, for all arcs {i,j) 
in A, we can set = aij/\T\ at both nodes i and j. 

Since each node has the capacities and costs of its incoming 
and outgoing arcs for subproblem 0 for each f G T, we can 
apply the e-relaxation method to obtain flows x^*''^ [0] for each 
t € T, which we use to compute Pij[l] and at both 

nodes i and j using equations 0 and 0, respectively. We 
then re-apply the e-relaxation method and so on. 

Although the decentralized algorithm that we have just dis¬ 
cussed could perhaps be extended to convex cost functions (by 





5 


modifying the dual problem and employing the e-relaxation 
method for convex cost network flow problems [35], [36]), a 
signihcantly more direct and natural method is possible, which 
we proceed to present. 


B. Convex, separable cost and separable constraints 


Let us now consider the case where, rather than a cost 
per unit rate for each arc, we have a convex, monotonically 
increasing cost function for arc (i, j). Such cost functions 
arise naturally when the cost is, e.g., latency or congestion. 
The optimization problem Q becomes the following convex 
optimization problem. 


minimize ^ fijizij) 

subject to Zij > >0, V {i,j) G A, t gT, 

E 4 ’- E 41 = A. 


y iGN,tGT. 


Note that the capacity constraints have been removed, since 
they can be enforced by making arcs arbitrarily costly as 
their flows approach their respective capacities. We again seek 
a decentralized method for solving the subgraph selection 
problem. 

We note that Zij = maxjgT xf^ at an optimal solution of 

problem (Si and that (maxigr xf ^^) is a convex function 
of Xij since a monotonically increasing, convex function of a 
convex function is convex. Hence it follows that problem (S 
can be restated as the following convex optimization problem. 


minimize ^ fiji^ij) 
subject to Zij = m&^xfj , V {i,j) G A, 


tGT 


E -if- E 


(i) (*) 

=cri , 


y iGN,tGT, 


4 ?> 0 , y {i,j)GA,tGT. 


(9) 


Unfortunately, the max function is not everywhere differ¬ 
entiable, and this can pose problems for algorithm design. 
We therefore solve the following modification of problem 
(S where the max norm is replaced by an P-norm. This 
replacement was originally proposed in [37]. 


l/n 


minimize ^ f^j{z[j) 
subject to z'j = ( 

\tGT 

E -i?- E 

4‘Eo, y {i,j)GA,tGT. 


V (uj) G A, 


(*) (*) 
Xji =<^i ^ 


( 10 ) 


yiGN,tGT, 


We have that zL > Zij for all n > 0 and that zL approaches 
Zij as n approaches infinity. Thus, we shall assume that n is 
large and attempt to develop a decentralized algorithm to solve 
problem lllOt . Note that, since zL > Zij, a code with rate zL 
on each arc {i,j) exists for any feasible solution. 

Problem dlOt is a convex multicommodity flow problem. 
There are many algorithms for convex multicommodity flow 
problems (see [38] for a survey), some of which (e.g. the 
algorithms in [39], [40]) are well-suited for decentralized 
implementation. These algorithms can certainly be used, but, 
in this paper, we propose solving problem ( I10> using a primal- 
dual algorithm derived from the primal-dual approach to 
internet congestion control (see [41, Section 3.4]). 

We restrict ourselves to the case where {fij} are strictly 
convex. Since the variable zL is a strictly convex func¬ 
tion of Xij, it follows that the objective function for 
problem (US is strictly convex, so the problem admits a 
unique solution for any integer n > 0. Let U{x) := 

let {y)+ for a; > 0 

denote the following function of y: 


iy)t = 


y if a; > 0, 

max{j/, 0} if a; < 0. 


Consider the following continuous-time primal-dual algorithm: 


At) _ 

^ij - Aj {X^j ) 


dt)(At)^ 




dx. 


(t) 

A 




^fj = mlf 


(Al?) ( 


where 


y. 


(*) . 

E 


it) (t) 

--Pl -P) ^ 


it) 

a/ 


{j\4,j)eA} 


E 


At) 

■^ji I 


( 11 ) 

( 12 ) 

(13) 


and kf^{xfj) > 0, > 0, and rnfMxlf) > 0 are 

non-decreasing continuous functions of xl*}, and 

tP tj X l IJ 

respectively. 

Proposition 1: The algorithm specified by Equations (EJ- 
(d is globally, asymptotically stable. 

Proof: See Appendix |II| ■ 

The global, asymptotic stability of the algorithm implies 
that no matter what the initial choice of {x,p) is, the primal- 
dual algorithm will converge to the unique solution of problem 
dipt . We have to choose A, however, with non-negative entries 
as the initial choice. 

We associate a processor with each arc {i,j) and node i. In 
a typical setting where there is one processor at every node, we 
could assign the processor at a node to be its own processor 
as well as the processor for all its outgoing arcs. 

We assume that the processor for node i keeps track of the 
variables while the processor for arc (t,j) keeps 

track of the variables {A|*^}tgT and {xfj}t^T- With this 
assumption, the algorithm is decentralized in the following 
sense: 



6 


> a node processor needs only to exchange information with 
the processors for arcs coming in or out of the node; and 

> an arc processor needs only to exchange information with 
the processors for nodes that it is connected to. 

This fact is evident from equations O-O by noting that 


dU{x) 


-fijiz'ij) 


In implementing the primal-dual algorithm, we must bear 
the following points in mind. 

> The primal-dual algorithm in (CHi-O is a continuous 
time algorithm. To discretize the algorithm, we consider 
time steps m = 1,2,... and replace the derivatives by 
differences: 


x[f[m+l] = xf^lm] 


+ alf[m] 


f dU{x[m]) 

\ dxfMm] 


N + \ 7 N 


(t)r 


pf ^ [to -I- 1] = pf'' [to] -I- [to] (p-'-' [to] - cr-'''), 

Xlf [to -f 1] = Xlf [to] -f 7^]^ [to] (^-x[f [to]) , 


n(*) [ 


?(‘)r 


,(‘)r 




where 


qlf [to] := pf ^ [to] - [to] , 


Mj L"*-! • t'l L"‘'J t'j 


and q;-*^[to] > 0, /3.*^[to] > 0, and Jiflm] > 0 can be 
thought of as step sizes. 

• While the algorithm is guaranteed to converge to the 
optimum solution, the value of the variables at any time 
instant to is not necessarily a feasible solution. A start-up 
time is required before a feasible solution is computed. 

• Unfortunately, the above algorithm is a synchronous 
algorithm where the various processors need to exchange 
information at regular intervals. It is an interesting prob¬ 
lem to investigate an asynchronous implementation of the 
primal-dual algorithm. 


C. Elastic rate demand 


follows: 

maximize U{x,R) 
subject to 

E E = 

{il0.t)6^} (14) 

V I e iV \ {f}, f G T, 

i? > 0, 

4Eo, v(z,j)G4iGr, 

where U{x,R) := (7r(i?) - E 7 j)e.A 
In problem (Gl, some of the flow constraints have been 
dropped by making the observation that the equality con¬ 
straints at a sink t, namely 

E 4?- E 4’ = 4‘> = -«. 


follow from the constraints at the source and at the other nodes. 
The dropping of these constraints is crucial to the proof that 
the algorithm presented in the sequel is decentralized. 

This problem can be solved by the following primal-dual 
algorithm. 


where 


(0 _ I 9U{x,R) _ (t) At) 

(t) 




dx\j 


R = kfi{R) 


dU{x, R) 


— qR + Xh 


dR 

P'P = hf\pf)yf'^ 

-x^\ 


- TO^‘^ 




ij I 
+ 


Xr = rnR{XR) i-R)xj^ 


(t) (t) it) 

<iij ■=Pi -pY 


QR 


■.= -Yp^\ 


teT 




E - E 

{j\ii,3)eA} {j\U,i)eA} 


At) it) 
X A — a\ . 


It can be shown using similar arguments as those for Propo¬ 
sition ^ that this algorithm is globally, asymptotically stable. 

In addition, by letting the source s keep track of the rate 
R, it can be seen that the algorithm is decentralized. 


We have thus far focused on the case of an inelastic rate 
demand, which is presumably provided by a separate flow 
control algorithm. But this flow control does not necessarily 
need to be done separately. Thus, we now suppose that the 
rate demand is elastic and that it is represented by a utility 
function that has the same units as the cost function, and we 
seek to maximize utility minus cost. We continue to assume 
strictly convex, separable cost and separable constraints. 

We associate with the source a utility function Ur such that 
Ur{R) is the utility derived by the source when R is the data 
rate. The function Ur is assumed to be a strictly concave and 
increasing. Hence, in this setup, the problem we address is as 


III. Wireless packet networks 
To model wireless packet networks, we take the model for 
wireline packet networks and include the effect of two new 
factors: link lossiness and link broadcast. Link lossiness refers 
to the dropping or loss of packets as they are transmitted over 
a link; and link broadcast refers to how links, rather than 
necessarily being point-to-point, may originate from a single 
node and reach more than one other node. Our model includes 
networks consisting of lossy point-to-point links and networks 
consisting of lossless broadcast links as special cases. 

We represent the network with a directed hypergraph l-L = 
{Af, A), where Af is the set of nodes and A is the set of 






7 


hyperarcs. A hypergraph is a generalization of a graph, where, 
rather than arcs, we have hyperarcs. A hyperarc is a pair (i, J), 
where i, the start node, is an element of Af and J, the set of 
end nodes, is a non-empty subset of N. Each hyperarc (i, J) 
represents a lossy broadcast link from node i to nodes in the 
non-empty set J. We denote by Zij the rate at which coded 
packets are injected into hyperarc and we denote by 

ZijK the rate at which packets, injected into hyperarc (i, J), 
are received by exactly the set of nodes K C J. Hence Zij := 
12 kcJ ^iJK- Let 


OiJK '■= - 

ZiJ 


The rate vector z, consisting of Zij, {i, J) £ A, is called a 
subgraph, and we assume that it must lie within a constraint 
set Z for, if not, the packet queues associated with one or more 
hyperarcs becomes unstable (for examples of constraint sets 
Z that pertain specifically to multi-hop wireless networks, see 
[42], [43], [44], [45], [46], [47]). We reasonably assume that Z 
is a convex subset of the positive orthant containing the origin. 
We associate with the network a cost function / (reflecting, 
for example, the average latency or energy consumption) that 
maps valid rate vectors to real numbers and that we seek to 
minimize. 


following optimization problem. 


minimize f{z) 
subject to z G Z, 

Zij>^xf]j, V( 7 ,J)gA 

e'e-s- e 

i G Af, t & T, 

xf]j >0, V (i, J) gA, j G J,t& T. 


t G T, 


„(*) 




(t) 

i ’ 


(16) 


A simplification of problem J16t can be made if we assume 
that, when nodes transmit in a lossless network, they reach all 
nodes in a certain area, with cost increasing as this area is in¬ 
creased. More precisely, suppose that we have separable cost, 
so f{z) = J2{i,j)eA Suppose further that each node 

i has Mi outgoing hyperarcs (*, (z, ..., (i, ) 

with C C • • • C . (We assume that there 

are no identical links, as duplicate links can effectively be 
treated as a single link.) Then, we assume that f^jO) (C) < 
f Ai) (C) < • • • < (C) for all C > 0 and nodes i. For 

{i,j) £ •= {(*) j)l(*) 'f) G A, J 3 j}, we introduce the 

variables 

Mi 


A*) — 


■■= E 




(t) 

MmJ 


Suppose we have a source node s wishing to transmit 
packets at a positive, real rate i? to a non-empty set of sink 
nodes T. Consider the following optimization problem; 


where m{i,j) is the unique m such that j G Jm \ Jm-i 
(we define := 0 for all z G Af for convenience). 
Now, problem ( I16> can be reformulated as the following 
optimization problem, which has substantially fewer variables. 


minimize f(z) 
subject to z G Z, 

ZijbijK > ^ xfjj, W {i,J) G A, K C J, t & T, 

]&K 

E E-a- E 

{J|(j, J)eyt} is J {3\U,i)^A,i&i} 

V z G A/", f G T, 

xfji >0, V (z, J) G A j G J, < G T. 

(15) 


Theorem 2: The vector z is part of a feasible solution for 
the optimization problem J15> if and only if there exists a 
network code that sets up a multicast connection in the wire¬ 
less network represented by hypergraph Ti, at rate arbitrarily 
close to R from source s to sinks in the set T and that injects 
packets at rate arbitrarily close to Zij on each hyperarc (z, J). 

Proof: The proof is much the same as that for Theorem[2 
But, instead of Theorem 1 of [1], we use Theorem 2 of [6]. 

■ 

In the lossless case, we have hiji^ = 1 for all non-empty 
K G J and = 0. Hence, problem (I15> simplifies to the 


minimize ^ fij{zij) 
ii,J)eA 
subject to z G Z, 

Mi 

E ^ E 


lit) 

tik ’ 


V z G A/", m = 1,..., Mi, t gT, 


(17) 


E 4^- E 


tJi , 


V z G Af, f G T, 
V(z,j)gA, fGT. 


Proposition 2: Suppose that f{z) = Yia,j)GA 
that (C) < f.jO) (C) < ■ • • < fijG) (C) for all C > 0 and 
nodes z. Then problem {HJl and problem ( fT7l are equivalent 
in the sense that they have the same optimal cost and z is part 
of an optimal solution for (dll if and only if it is part of an 
optimal solution for Clll- 

Proof: See Appendix dn ■ 

We see that, provided that {bijK} are constant, problems 
(O and J16t are of essentially the same form as problem 
m, albeit with possibly more linear constraints relating z and 
X, and, if we drop the constraint set Z and consider linear. 



8 


separable cost or convex, separable cost, then the decentralized 
algorithms discussed in Sections nTxi and EH can be applied 
with little modification. In the case of problem (I17> . the 
subgradient method of Section nTxi can be applied once we 
note that its Lagrangian dual. 


maximize 

tGT 

subject to V = s (i) , V f G A/", TO = 1,..., Mi, 

r J 'I'Jm 

tGT 

pf] >0, V (^, J)£A,t£T, 


where 




iJ, 




and 




(pW) := 


ihj) 

c 

{i,j)eA' \ 


min I 




is of the same form as (|4}. 


IV. Comparison with techniques in routed packet 

NETWORKS 

In this section, we report on the results of several simu¬ 
lations that we conducted to assess the performance of the 
proposed techniques. We begin with wireline networks. 

In routed wireline networks, the standard approach to es¬ 
tablishing minimum-cost multicast connections is to find the 
shortest tree rooted at the source that reaches all the sinks, 
which equates to solving the Steiner tree problem on directed 
graphs [10]. For coded networks, the analogous problem to 
finding the shortest tree is solving the linear optimization 
problem in the case where = -boo, which, being a linear 
optimization problem, admits a polynomial-time solution. By 
contrast, the Steiner tree problem on directed graphs is well- 
known to be NP-complete. Although tractable approximation 
algorithms exist for the Steiner tree problem on directed graphs 
(for example, [10], [11], [12]), the solutions thus obtained 
are suboptimal relative to minimum-cost multicast without 
coding, which in turn is suboptimal relative to when coding is 
used, since coding subsumes forwarding and replicating (for 
example, the optimal cost for a Steiner tree in the network in 
Figure [T(^ is 10, as opposed to 19/2). Thus, coding promises 
potentially significant cost improvements. 

We conducted simulations where we took graphs repre¬ 
senting various Internet Service Provider (ISP) networks and 
assessed the average total weight of random multicast connec¬ 
tions using, first, our proposed network-coding based solution 
and, second, routing over the tree given by the Directed 
Steiner Tree (DST) approximation algorithm described in [11]. 
The graphs, and their associated link weights, were obtained 
from the Rocketfuel project of the University of Washington 
[48]. The approximation algorithm in [11] was chosen for 
comparison as it achieves a poly-logarithmic approximation 
ratio (it achieves an approximation ratio of 0(log^ |T|), where 
|r| is the number of sink nodes), which is roughly as good 
as can be expected from any practical algorithm, since it 
has been shown that it is highly unlikely that there exists a 



Fig. 2. Average energy of a random 4-terminal multicast of unit rate i n a 30- 
node wireless network using the subgradient method of Section [l^^ Nodes 
were placed randomly within a 10 X 10 square with a radius of connectivity 
of 3. The energy required to transmit at rate z to a distance d was taken to be 
d^z. Source and sink nodes were selected according to a uniform distribution 
over all possible selections. 


polynomial-time algorithm that can achieve an approximation 
factor smaller than logarithmic [10]. The results of the simu¬ 
lations are tabulated in Table |I] We see that, depending on the 
network and the size of the multicast group, the average cost 
reduction ranges from 10% to 33%. Though these reductions 
are modest, it is important to keep in mind that our proposed 
solution easily accommodates decentralized operation. 

For wireless networks, one specific problem of interest is 
that of minimum-energy multicast (see, for example, [13], 
[49]). In this problem, we wish to achieve minimum-energy 
multicast in a lossless wireless network without explicit regard 
for throughput or bandwidth, so the constraint set Z can be 
dropped altogether. The cost function is linear and separable, 
namely, it is f{z) = OzJ'ZzJ, where a^j represents 

the energy required to transmit a packet to nodes in J from 
node i. Hence problem (O becomes a linear optimization 
problem with a polynomial number of constraints, which can 
therefore be solved in polynomial time. By contrast, the same 
problem using traditional routing-based approaches is NP- 
complete—in fact, the special case of broadcast in itself is 
NP-complete, a result shown in [49], [50]. The problem must 
therefore be addressed using polynomial-time heuristics such 
as the MIP algorithm proposed in [13]. 

We conducted simulations where we placed nodes ran¬ 
domly, according to a uniform distribution, in a 10 x 10 
square with a radius of connectivity of 3 and assessed the 
average total energy of random multicast connections using 
first, our proposed network-coding based solution and, second, 
the routing solution given by the MIP algorithm. The energy 
required to transmit at rate x to a distance d was taken to be 
d^z. The results of the simulations are tabulated in Table El We 
see that, depending on the size of the network and the size of 
the multicast group, the average energy reduction ranges from 
13% to 49%. These reductions are more substantial than those 
for the wireline simulations, but are still modest. Again, it is 
important to keep in mind that the proposed solution easily 
accommodates decentralized operation. 

We conducted simulations on our decentralized algorithms 









9 


Network 

Approach 

Average multicast cost 

2 sinks 

4 sinks 

8 sinks 

16 sinks 

Telstra (au) 

DST approximation 

17.0 

28.9 

41.7 

62.8 


Network coding 

13.5 

21.5 

32.8 

48.0 

Sprint (us) 

DST approximation 

30.2 

46.5 

71.6 

127.4 


Network coding 

22.3 

35.5 

56.4 

103.6 

Ebone (eu) 

DST approximation 

28.2 

43.0 

69.7 

115.3 


Network coding 

20.7 

32.4 

50.4 

77.8 

Tiscali (eu) 

DST approximation 

32.6 

49.9 

78.4 

121.7 


Network coding 

24.5 

37.7 

57.7 

81.7 

Exodus (us) 

DST approximation 

43.8 

62.7 

91.2 

116.0 


Network coding 

33.4 

49.1 

68.0 

92.9 

Abovenet (us) 

DST approximation 

27.2 

42.8 

67.3 

75.0 


Network coding 

21.8 

33.8 

60.0 

67.3 


TABLE I 

Average cost oe random multicast connections of unit rate for various approaches in graphs representing various ISP 
NETWORKS. The cost per unit rate on each arc is the link weight as assessed by the Rocketfuel project of the University of 
Washington [48], Source and sink nodes were selected according to a uniform distribution over all possible selections. 


Network size 

Approach 

Average multicast energy 

2 sinks 

4 sinks 

8 sinks 

16 sinks 

20 nodes 

MIP algorithm 

30.6 

33.8 

41.6 

47.4 


Network coding 

15.5 

23.3 

29.9 

38.1 

30 nodes 

MIP algorithm 

26.8 

31.9 

37.7 

43.3 


Network coding 

15.4 

21.7 

28.3 

37.8 

40 nodes 

MIP algorithm 

24.4 

29.3 

35.1 

42.3 


Network coding 

14.5 

20.6 

25.6 

30.5 

50 nodes 

MIP algorithm 

22.6 

27.3 

32.8 

37.3 


Network coding 

12.8 

17.7 

25.3 

30.3 


TABLE II 


Average energy of random multicast connections of unit rate for various approaches in random wireless networks of varying 
size. Nodes were placed randomly within a 10 x 10 square with a radius of connectivity of 3. The energy required to transmit at 

RATE Z TO A DISTANCE d WAS TAKEN TO BE SOURCE AND SINK NODES WERE SELECTED ACCORDING TO A UNIFORM DISTRIBUTION OVER ALL 

POSSIBLE selections. 



Fig. 3. Average energy of a random 4-terminal multicast of unit rate i n a 30- 
node wireless network using the primal-dual method of Section H^B] Nodes 
were placed randomly within a 10 X 10 square with a radius of connectivity 
of 3. The energy required to transmit at rate z to a distance d was taken to be 
d?e^. Source and sink nodes were selected according to a uniform distribution 
over all possible selections. 

for a network of 30 nodes and a multicast group of 4 terminals 
under the same set up. In Figure |2] we show the average 
behavior of the subgradient method of Section nTxi applied 
to problem J17t . The algorithm was run under two choices of 
step sizes and convex combination weights. The curve labeled 
“original primal recovery” refers to the case where the step 


sizes are given by 6*[n] = ® and the convex combination 

weights by p/ [n] = 1 jn. The curve labeled “modihed primal 
recovery” refers to the case where the step sizes are given by 
9[n] = ® and the convex combination weights by p/[n] = 

1/n, if n < 30, and /i;[n] = 1/30, if n > 30. The modified 
primal recovery rule was chosen as a heuristic to lessen the 
effect of poor primal solutions obtained in early iterations. 
For reference, the optimal cost of problem Clli is shown, as 
is the cost obtained by the MIP algorithm. We see that, for 
both choices of step sizes and convex combination weights, the 
cost after the hrst iteration is already lower than that from the 
MIP algorithm. Moreover, in fewer than 50 iterations, the cost 
using modihed primal recovery is within 5% of the optimal 
value. Thus, in a small number of iterations, the subgradient 
method yields signihcantly lower energy consumption than 
that obtained by the MIP algorithm, which is centralized. 

In Figure 0 we show the average behavior of the primal- 
dual method of Section ITl-Rl annlied to problem J16t . To make 
the cost strictly convex, the energy required to transmit at rate 
z to a distance d was taken to be d^e^. Recall that we do not 
necessarily have a feasible solution at each iteration. Thus, to 
compare the cost at the end of each iteration, we recover a 
feasible solution from the vector z'[m] as follows: We take 
the subgraph dehned by z'[m] and compute the maximum 
flow from source s to sinks in the set T. We then And any 
































10 


subgraph of z' [m] that provides this maximum flow and scale 
the subgraph so obtained to provide the desired flow. The cost 
of the scaled subgraph is assumed to be the cost of the solution 
at the end of each iteration. We chose the step sizes as follows: 
afj^[m\ = a, = 20q:, and was chosen to be 

large. The algorithm was run under two choices of a. We see, 
from our results, that the value of a has to be carefully chosen. 
Larger values of a generally lead to more oscillatory behavior 
but faster convergence. 

Finally, we considered unicast in lossy wireless networks. 
We conducted simulations where nodes were again placed 
randomly according to a uniform distribution over a square 
region. The size of square was set to achieve unit node 
density. We considered a network where transmissions were 
subject to distance attenuation and Rayleigh fading, but not 
interference (owing to scheduling). So, when node i transmits, 
the signal-to-noise ratio (SNR) of the signal received at node j 
is where 7 is an exponentially-distributed random 

variable with unit mean and is the distance between 

node i and node j. We assumed that a packet transmitted by 
node i is successfully received by node j if the received SNR 
exceeds (}, i.e. ^d{i,j)~‘^ > (3, where /3 is a threshold that we 
took to be 1/4. If a packet is not successfully received, then 
it is completely lost. 

We considered five different approaches to wireless uni¬ 
cast; approaches (□-(S do not use network coding, while 
approaches 0 and 0 do: 

1) End-to-end retransmission; A path is chosen from 
source to sink, and packets are acknowledged by the 
sink, or destination node. If the acknowledgment for 
a packet is not received by the source, the packet is 
retransmitted. This represents the situation where relia¬ 
bility is provided by a retransmission scheme above the 
link layer, e.g., by the transport control protocol (TCP) 
at the transport layer, and no mechanism for reliability 
is present at the link layer. 

2) End-to-end coding: A path is chosen from source to 
sink, and an end-to-end forward error correction (FEC) 
code, such as a Reed-Solomon code, an LT code [51], 
or a Raptor code [52], is used to correct for packets lost 
between source and sink. 

3) Link-by-link retransmission: A path is chosen from 
source to sink, and automatic repeat request (ARQ) is 
used at the link layer to request the retransmission of 
packets lost on every link in the path. Thus, on every 
link, packets are acknowledged by the intended receiver 
and, if the acknowledgment for a packet is not received 
by the sender, the packet is retransmitted. 

4) Path coding: A path is chosen from source to sink, 
and every node on the path employs coding to correct 
for lost packets. The most straightforward way of doing 
this is for each node to use one of the FEC codes for 
end-to-end coding, decoding and re-encoding packets it 
receives. The main drawback of such an approach is 
delay. Every node on the path codes and decodes packets 
in a block. A way of overcoming this drawback is to 
use codes that operate in a more of a “convolutional” 



Fig. 4. Average number of transmissions required per packet using various 
wireless unicast approaches in random networks of varying size. Sources and 
sinks were chosen randomly according to a uniform distribution. 


manner, sending out coded packets formed from packets 
received thus far, without decoding. The random linear 
coding scheme from [6] is such a code. A variation, with 
lower complexity, is presented in [53]. 

5) Full coding: In this case, paths are eschewed altogether. 
Problem o is solved to And a subgraph, and the 
random linear coding scheme from [6] is used. This 
represents the limit of achievability provided that we 
are restricted from modifying the design of the physical 
layer and that we do not exploit the timing of packets 
to convey information. 

In all cases where acknowledgments are sent, acknowledg¬ 
ments are subject to loss in the same way that packets are and 
follow the same path. 

The average number of transmissions required per packet 
using the various approaches in random networks of varying 
size is shown in Figure 0 Paths or subgraphs were chosen 
in each random instance to minimize the total number of 
transmissions required, except in the cases of end-to-end 
retransmission and end-to-end coding, where they were chosen 
to minimize the number of transmissions required by the 
source node (the optimization to minimize the total number of 
transmissions in these cases cannot be done straightforwardly 
by a shortest path algorithm). We see that, while end-to- 
end coding and link-by-link retransmission already represent 
significant improvements on end-to-end retransmission, the 
network coding approaches represent more significant im¬ 
provements still. By a network size of nine nodes, full coding 
already improves on link-by-link retransmission by a factor of 
two. Moreover, as the network size grows, the performance of 
the various schemes diverges. Here, we discuss performance 
simply in terms of the number of transmissions required 
per packet; in some cases, e.g., congestion, the performance 
measure increases super-linearly in this quantity, and the 
performance improvement is even greater than that depicted 
in Figure |3 We see, at any rate, that the use of network 
coding promises significant improvements, particularly for 
large networks. 








11 


V. Dynamic multicast 

In many applications, membership of the multicast group 
changes in time, with nodes joining and leaving the group, 
rather than remaining constant for the duration of the con¬ 
nection, as we have thus far assumed. Under these dynamic 
conditions, we often cannot simply re-establish the connection 
with every membership change because doing so would cause 
an unacceptable disruption in the service being delivered to 
those nodes remaining in the group. A good example of an 
application where such issues arise is real-time media distri¬ 
bution. Thus, we desire to hnd minimum-cost time-varying 
subgraphs that can deliver continuous service to dynamic 
multicast groups. 

Although our objective is clear, our description of the prob¬ 
lem is currently vague. Indeed, one of the principal hurdles to 
tackling the problem of dynamic multicast lies in formulating 
the problem in such a way that it is suitable for analysis and 
addresses our objective. For routed networks, the problem is 
generally formulated as the dynamic Steiner tree problem, 
which was hrst proposed in [14]. Under this formulation, 
the focus is on worst-case behavior and modifications of the 
multicast tree are allowed only when nodes join or leave 
the multicast group. The formulation is adequate, but not 
compelling; indeed, there is no compelling reason for the 
restriction on when the multicast tree can be modified. 

In our formulation for coded networks, we draw some 
inspiration from [14], but we focus on expected behavior rather 
than worst-case behavior, and we do not restrict modifications 
of the multicast subgraph to when nodes join or leave the 
multicast tree. We focus on wireline networks for simplicity, 
though our considerations apply equally to wireless networks. 
We formulate the problem as follows. 

We employ a basic unit of time that is related to the 
time that it takes for changes in the multicast subgraph to 
settle. In particular, suppose that at a given time the multicast 
subgraph is z and that it is capable of supporting a multicast 
connection to sink nodes T. Then, in one unit time, we can 
change the multicast subgraph to z', which is capable of 
supporting a multicast connection to sink nodes T', without 
disrupting the service being delivered to T n T' provided that 
(componentwise) z > z' or z < z'. The interpretation of this 
assumption is that we allow, in one time unit, only for the 
subgraph to increase, meaning that any sink node receiving 
a particular stream will continue to receive it (albeit with 
possible changes in the code, depending on how the coding is 
implemented) and therefore facing no significant disruption to 
service; or for the subgraph to decrease, meaning that any sink 
node receiving a particular stream will be forced to reduce to 
a subset of that stream, but one that is sufficient to recover the 
source’s transmission provided that the sink node is in T', and 
therefore again facing no significant disruption to service. We 
do not allow for both operations to take place in a single unit 
of time (which would allow for arbitrary changes) because, 
in that case, sink nodes may face temporary disruptions to 
service when decreases to the multicast subgraph follow too 
closely to increases. 

As an example, consider the four node network shown in 



Fig. 5. A four node network. 

Figure |3 Suppose that s = 1 and that, at a given time, we 
have T = {2,4}. We support a multicast of unit rate with the 
subgraph 

{Zl 2 , Zi3, Z24, Z 34 ) = (1,0, 1,0). 

Now suppose that the group membership changes, and node 
2 leaves while node 3 joins, so T' = {3,4}. As a result, we 
decide that we wish to change to the subgraph 

{zi2, Zi3, Z24, Z34) = (0, 1, 0, 1). 

If we simply make the change naively in a single time unit, 
then node 4 may face a temporary disruption to its service as 
packets on (2,4) stop arriving and before packets on (3,4) 
start arriving. The assumption that we have made on allowed 
operations ensures that we must first increase the subgraph to 

{Zi 2 , Zi3, Z 24 , Z 34 ) = (1, 1, 1, 1), 

allow for the change to settle by waiting for one time unit, 
then decrease the subgraph to 

(zi2,213,224,234) = ( 0 , 1 , 0 , 1 ). 

With this series of operations, node 4 maintains continuous 
service throughout the subgraph change. 

We discretize the time axis into time intervals of a single 
time unit. We suppose that at the beginning of each time 
interval, we receive zero or more requests from sink nodes 
that are not currently part of the multicast group to join and 
zero or more requests from sink nodes that are currently part 
of the multicast group to leave. We model these join and 
leave requests as a discrete stochastic process and make the 
assumption that, once all the members of the multicast group 
leave, the connection is over and remains in that state forever. 
Let Tm denote the sink nodes in the multicast group at the 
end of time interval m. Then, we assume that 

lim Pr(r™ ^ 0|To = T) = 0 (18) 

m—>-oo 

for any initial multicast group T. A possible, simple model 
of join and leave requests is to model \Tm\ as a birth-death 
process with a single absorbing state at state 0, and to choose 
a node uniformly from A/"' \ T^, where J\f' := J\f \ {s}, at 
each birth and from at each death. 

Let z*-™^ be the multicast subgraph at the beginning of 
time interval m, which, by the assumptions made thus far. 



12 



means that it supports a multicast connection to sink nodes 
Tjn-i- Let Vm-i and Wm-i be the join and leave requests 
that arrive at the end of time interval m — 1, respectively. 
Hence, Vm-i C J\f' \ T„-i, Wm-i C T„-i, and = 
{Tm-i \ Wm-i) U Vm- 1 - We choose from and 

Tjn using the function so Tm), where 

^.(m+i) jjg jjj ^ particular constraint set U{z^'^\Tm)- 
To characterize the constraint set U{z,T), recall the op¬ 
timization problem for minimum-cost multicast in wireline 
packet networks developed in Section HU 


minimize 

f{z) 




subject to 

z ^ Z ^ 





Zij > xl'i’ > 0. 

V 

{i,j) G A, tGT, 

E 

At) 

E 

At) 







'iieN,t€T, 


(19) 


Therefore, it follows that we can write U (z, T) = C/+(z, T) U 
U-{z,T), where 


have T = {6,8}. We support a multicast of rate 2 with 
the two trees {(1, 3), (3,4), (4, 5), (5, 6), (5, 7), (7, 8)} and 
{(1, 2), (2, 6), (6, 8)}, each carrying unit rate. Now suppose 
that the group membership changes, and node 6 leaves while 
node 7 joins, so T' = {7, 8}. It is clear that static multicast to 
T' is possible using multiple multicast trees (we simply reflect 
the solution for T), but we cannot achieve multicast to T' by 
only adding edges to the two existing trees. Our only recourse 
at this stage is to abandon the existing trees and establish new 
ones, which causes a disruption to the service of node 8, or 
to slowly reconfigure the existing trees, which causes a delay 
before node 7 is actually joined to the group. 

Returning to the problem at hand, we see that our objective 
is to find a policy tt = {no, fj,i, ■ ■ ■,} that minimizes the cost 
function 




TM-l 


lim E 

M —^oo 


_7n—0 


where X 2 ^'\{(ts} characteristic function for 2^ \{0} (i-e. 
X 2 ^'\{ 0 }(^) = 1 if L 0, and X 2 ^'\{ 0 }(’f") = 0 if T = 0). 

We impose the assumption that we have separable con¬ 
straints and that Z{Af') ^ 0; that is, we assume that there 
exists a subgraph that supports broadcast. This assumption 
ensures that the constraint set U{z,T) is non-empty for all 
z £ Z and T C Af'. Thus, from condition dH, it follows that 
there exists at least one policy tt (namely, one that uses some 
fixed z G Z(N') until the multicast group is empty) such that 

J7r(z(°\To) < OO. 

It is now not difficult to see that we are dealing with an 
undiscounted, infinite-horizon dynamic programming problem 
(see, for example, [55, Chapter 3]), and we can apply the 
theory developed for such problems to our problem. So doing, 
we first note that the optimal cost function J* := minTr 
satisfies Bellman’s equation; namely, we have 


c7+(z,r) = {z'GZ(r)|z'>z}, 

U.{z,T) = [z' G Z{T)\z' < z}, 

and Z{T) is the feasible set of problem ( I19> for a given T; i.e. 
if we have the subgraph z at the beginning of a time interval, 
and we must go to a subgraph that supports multicast to T, 
then the allowable subgraphs are those that support multicast 
to T and either increase z (those in U+{z,T)) or decrease z 
(those in U-{z, T)). 

Note that, if we have separable constraints, then 
U(z^^\Tm) ^ 0 for all z^ G Z provided that Z(T„) ^ 0; 
that is, from any feasible subgraph at stage m, it is possible 
to go to a feasible subgraph at stage m + 1 provided that 
one exists for the multicast group Tm- But while this is the 
case for coded networks, it is not always the case for routed 
networks. Indeed, if multiple multicast trees are being used (as 
discussed in [54], for example), then it is definitely possible 
to find ourselves in a state where we cannot achieve multicast 
at stage m + 1 even though static multicast to Tm is possible 
using multiple multicast trees. 

As an example of this phenomenon, consider the net¬ 
work depicted in Figure Suppose that each arc is of 

unit capacity, that s = 1, and that, at a given time, we 


J*{z,T)= min {f{u)+E[J*{u,{T\V)UW)]} 

uGU(z,T) 

if T 7 ^ 0, and J*{z, T) = 0 if T = 0. Moreover, the optimal 
cost is achieved by the stationary policy tt = {n, .. .}, where 

n is given by 

p(z,T) = argmin {f{u) + E[J*{u, (T \ L) U IL)]} (20) 

ueU(z,T) 

if T 7 ^ 0, and /r(z, T) = 0 if T = 0. 

The fact that the optimal cost can be achieved by a stationary 
policy limits the space in which we need to search for optimal 
policies significantly, but we are still left with the difficulty 
that the state space is uncountably large; it is the space of 
all possible pairs (z,T), which is Z x 2^'. The size of the 
state space more or less eliminates the possibility of using 
techniques such as value iteration to obtain J*. 

On the other hand, given J*, it does not seem at all 
implausible that we can compute the optimal decision at 
the beginning of each time interval using (|20j. Indeed, the 
constraint set is the union of two polyhedra, which can be 
handled by optimizing over each separately, and, although the 
objective function may not necessarily be convex even if / is 
convex owing to the term E[J*(u, (T \ L) U W)], we are, at 








13 


any rate, unable to obtain J* precisely on account of the large 
state space, and can restrict our attention to approximations 
that make problem J20> tractable. 

For dynamic programming problems, there are many ap¬ 
proximations that have been developed to cope with large state 
spaces (see, for example, [55, Section 2.3.3]). In particular, we 
can approximate J*{z, T) by J{z^ T, r), where J(z, T, r) is of 
some fixed form, and r is a parameter vector that is determined 
by some form of optimization, which can be performed offline 
if the graph Q is static. Depending upon the approximation 
that is used, we may even be able to solve problem J20> using 
the decentralized algorithms described in Section|II](or simple 
modifications thereof). The specific approximations J{z,T, r) 
that we can use and their performance are beyond the scope 
of this paper. 


VI. Conclusion 

Routing is certainly a satisfactory way to operate packet 
networks. It clearly works, but it is not clear that it should 
be used for all types of networks. As we have mentioned, 
application-layer overlay networks and multi-hop wireless 
networks are two types of networks where coding is a definite 
alternative. 

To actually use coding, however, we must apply to coding 
the same considerations that we normally apply to routing. 
This paper did exactly that; We took the cost consideration 
from routed packet networks and applied it to coded packet 
networks. More specifically, we considered the problem of 
finding minimum-cost subgraphs to support multicast connec¬ 
tions over coded packet networks—^both wireline and wireless. 
As we saw, this problem is effectively decoupled from the 
coding problem: To establish minimum-cost multicast connec¬ 
tions, we can first determine the rate to inject coded packets 
on each arc, then determine the contents of those packets. 

Our work therefore brings coded packet networks one step 
closer to realization. But, to actually see that happen, much 
work remains to be done. For example, designing protocols 
around our algorithms is a clear task, as is designing protocols 
to implement coding schemes. In addition, there are some 
important issues coming directly from this paper that require 
further exploration. Some of these relate to the decentralized 
algorithms, e.g., their stability under changing conditions (e.g., 
changing arc costs, changing graph topology), their speeds 
of convergence, their demands on computation and message- 
exchange, and their behavior under asynchronism. Another 
topic to explore is specific approximation methods for use in 
our formulation of dynamic multicast. 

On a broader level, we could design other algorithms using 
the flow formulations given in this paper (see [56], [57]). And 
we could give more thought to the cost functions themselves. 
Where do they come from? Do cost functions for routed 
packet networks make sense for coded ones? If a coded packet 
network is priced, how should the pricing be done? And how 
should the resultant cost be shared among the members of the 
multicast group? 

In short, we believe that realizing coded packet networks 
is a worthwhile goal, and we see our work as an integral 


step toward this goal. Much promising work, requiring various 
expertise, remains. 


Acknowledgments 

The authors would like to thank R. Srikant for helpful 
discussions and suggestions and Hyunjoo Lee for her work 
on the simulation software. 


Appendix I 

We wish to solve the following problem, 
minimize 

tGT 

subject to w S Pij, 

where Pij is the |T|-dimensional simplex 

= Qij, V >0 

tGT 

First, since the objective function and the constraint set Pij are 
both convex, it is straightforward to establish that a necessary 
and sufficient condition for global optimality of in Pij is 

{)(*) > 0 ^ V r e T (21) 



(see, for example, [32, Section 2.1]). Suppose we index the 
elements of T such that We 

then note that there must be an index k in the set {1,..., |T|} 
such that > 0 for I = 1,..., A: and = 0 for I > 
k + 1, for, if not, then a feasible solution with lower cost can 
be obtained by swapping around components of the vector. 
Therefore, condition (ED implies that there must exist some 
d such that -f d for all t G {ti,... ,tk} and that 

d < for all t G {tk+i, ■ ■ •, t\T\}, which is equivalent to 

d < Since is in the simplex Pij, it follows that 

tk 

kd + = aij, 

t=i 


which gives 



By taking k = k, where k is the smallest k such that 


1 

k 





r—1 




(or, if no such k exists, then k = |T|), we see that we have 



> 


which can be rearranged to give 


d 



t=i / 




14 


Hence, if is given by 


z;(*) = 



7 2^r-=l 


,(r) 


if t € 
otherwise, 


( 22 ) 


then is feasible and we see that the optimality condition 
(12U is satisfied. Note that, since d < equation (I22> 

can also be written as 


as A: ^ oo; hence we see from equations Il24t and ( I25> that, 
for k sufficiently large, 

n 

Zij[n] = - ^ JinCij[n] 

and, therefore, that complementary slackness with p holds in 
the limit of any convergent subsequence of {a;[n]}. 


V 


= max 



1 

k 



(23) 


We now turn to showing that any accumulation point of the 
sequence of primal iterates {a:[n]} given by (0 is an optimal 
solution the primal problem (EJ. Suppose that the dual feasible 
solution that the subgradient method converges to is p. Then 
there exists some m such that for n > m 

Pif + 1] = N + 0[n]x\f [n] + c^- [n] 

for all {i,j) S A and t G T such that pf^^ > 0. Therefore, if 
pfj > 0, then for n > m we have 

771 n 

xfj [n] [”] w + 

1—1 

m 

= '^Hi[n]x\f W 

+ ^ ^^ip\f[n+^-p[f[n]-d,j[n]) 

l=m+l 

m n 

= '^Pi M x\f [Z] + An {p[f [n + 1] - plf [n] ) 

1 — 1 /— m +1 

n 

- ^ lindijln]. 

l—m-\-l 

(24) 


Otherwise, if = 0, then from equation ( I23t . we have 


[n + 1] > p\]’ [n] + 0[n]x'f,> [n] + [n], 


n(‘) 


(t)r 


SO 

m n 

if- [n] <'^ Pi Mx'ff [Z] + Yf An {pif [« + !]- pff [n]) 

1 — 1 /—m+1 

n 

- Y AnCij[n]. 
l—m-\-l 

(25) 

It is straightforward to see that the sequence of iterates 
{i[n]} is primal feasible, and that we obtain a primal feasible 
sequence {z[n]} by setting Zij[n] := ma-x.t^Txff[n]. Sherali 
and Choi [34] showed that, if the required conditions on the 
step sizes {0[n]} and convex combination weights {pi[n]] are 
satished, then 

m n 

Y [”] ^ff W + Yf An {pff [n+l]- pff [n]) ^ 0 

/=1 l—m-\-l 


Appendix II 

Proof of Proposition^ 

We prove the stability of the primal-dual algorithm by using 
the theory of Lyapunov stability (see, for example, [41, Section 
3.10]). This proof is based on the proof of Theorem 3.7 of [41]. 
The Lagrangian for problem (doll is as follows: 


L{x,p, A) = U{x) 

E A- E A 
E ™ 

{id)eA ) 

The function U is strictly concave since is a monotonically 
increasing, strictly convex function and zL is a strictly convex 
function of Xij, so there exists a unique minimizing solution 
for problem (HOj, say X, and Lagrange multipliers, say p and A, 
which satisfy the following Karush-Kuhn-Tucker conditions. 


dL{x,p, A) 


dx. 


(t) 



E 


iff > 0 

A>+0 

Xffxij = 0 


E ^ 

iPUA&A} 


V (i,j) GA,tGT, 


M iGNAGT, 

V (*,j) GA,tGT, 

V (i,j) GA,tGT, 

V {i,j) eA,tGT. 


(27) 


(28) 

(29) 

(30) 

(31) 


From Equation ( I26t . it can be verified that {x,p,X) is an 
equilibrium point of the primal-dual algorithm. We now prove 
that this point is globally, asymptotically stable. 

Consider the following function as a candidate for the 
Lyapunov function: 


V{x,p,X) 


A‘) 


= E E 

teT I (ij)GA 


kff{cr) 


{a-xff)da 


tj "'ij 


At) 


(7 - Xff)dl 


IxA rn[f{j) 


„(*) 


E 

i&N "'P 


1 






{P-pffd(3 









15 


Note that V{x,p, X) = 0. Since, kfHa) > 0, if 7 ^ xXa\ 


Xt) -I dt) 


.(*) 


we have / y 771777 - x'fj’)dcr > 0. This argument can 


1 

k^ia) ^ y 

be extended to the other terms as well. Thus, whenever 
{x,p,X) ^ {x,p, X), we have V{x,p,X) > 0. 

Now, 


V = 


E E 

ter I (ij)eA 


a(‘) _ \(‘) 




fdU(x) (t) A (t)' 


- yh 


i&N ) 


Note that 


= 0 and, since > 0 , - Xf/) > 0 . 

Therefore^, 








V < 


eI i: [ 


_ \(t)) 

y'^ij '^ij ' 


dUjx) _ (t) , (i) 

. 54 ^ ^ E 




+E(E-E)(E-#)| 

iGN ) 

= {q- q)'{x -x) + {p- p)'{y - y) 


si E [- 

*GT l^(i.i)GA 




+ 


dU{x) (t) 


- qiy + X\f ■ {x[f - x[f) 


dx 


(t) 


n 


+E(E -pf) 


ieN 


If the initial choice of A is such that A(0) > 0, we see 
from the primal-dual algorithm that A(r) > 0. This is true 
since A > 0 whenever A < 0. Thus, it follows by the theory 
of Lyapunov stability that the algorithm is indeed globally, 
asymptotically stable. 

Appendix III 
Proof of Proposition|2] 

Suppose (x, z) is a feasible solution to problem (I16t . Then, 
for all (j,j) G A' and t & T, 


Mi 

E 


Mi 




it) 

X (i) 
ijX’k 




since the inequality is an equality if either xA < 0 or A^^- > 
0; and, in the case when 0 and A,-*^ < 0, we have 

‘■J ^ ^ 


^ E E^ 

Mi 

= E E 

Mi 


m ^ 


> 


E 


E 


keJM.\jAi .,1 m=max(m(i,j),m(i,k)) 


^ijy k 


Mi 


E E ^ 

jM \ tC'*') m—mii.k) 




E 


Xt) 




Hence (x, z) is a feasible solution of problem o with the 
same cost. 

Now suppose (x, z) is an optimal solution of problem O- 
E«(C) < < •■• < fijMC) for all C > 0 

and i G Xf hy assumption, it follows that, for all i G N, the 
sequence z. ,(«>, z. .(i) ,,z. ,(t) is given recursively, starting 

iJl lJ2 ^'^Mi 

from m = Mi, by 


Mi 


^^JA> = Tt 1 E ^ik - E ^ ■ 

Hence z. ,(t) > 0 for aW. i G N and m = 1,2,..., Mi. We 

^'Jm 

then set, starting from m = Mi and j G J^., 

/ Mi 


= {\/U{x) - sjU{x)Y{x - x) - A'x, 

where the last line follows from Karush-Kuhn-Tucker condi¬ 
tions (|23-(|3l} and the fact that 


p'y = EE4M E E" E 

t&T ieAf \{il(*j)e^} {ilO',i)G.A} 

=E E -!?(?;•’ 

i6T {i,j)eA 

Thus, owing to the strict concavity of U{x), we have V < 
—A'x, with equality if and only if x = x. So it follows that 
< 0 for all A > 0, since x > 0. 


(t) . .(t) 

X := mm x 




- E Xij(i)i,Z,j(i) 




E 


Mi 




It is now difficult to see that (x, z) is a feasible solution of 
problem (d with the same cost. 

Therefore, the optimal costs of problems d and d 
are the same and, since the objective functions for the two 
problems are the same, z is part of an optimal solution for 
problem J16> if and only if it is part of an optimal solution 
for problem d- 










16 


References 

[1] R. Ahlswede, N. Cai, S.-Y. R. Li, and R. W. Yeung, “Network informa¬ 
tion flow,” IEEE Trans. Inform. Theory, vol. 46, no. 4, pp. 1204-1216, 
July 2000. 

[2] S.-Y R. Li, R. W. Yeung, and N. Cai, “Linear network coding,” IEEE 
Trans. Inform. Theory, vol. 49, no. 2, pp. 371-381, Feb. 2003. 

[3] R. Koetter and M. Medard, “An algebraic approach to network coding,” 
lEEE/ACM Trans. Networking, vol. 11, no. 5, pp. 782—795, Oct. 2003. 

[4] S. Jaggi, R Sanders, P. A. Chou, M. Effros, S. Egner, K. Jain, and L. M. 
G. M. Tolhuizen, “Polynomial time algorithms for multicast network 
code construction,” IEEE Trans. Inform. Theory, vol. 51, no. 6, pp. 
1973-1982, June 2005. 

[5] T. Ho, M. Medard, R. Koetter, D. R. Karger, M. Effros, J. Shi, and 
B. Leong, “A random linear network coding approach to multicast,” 
submitted to IEEE Trans. Inform. Theory. [Online]. Available: 
http://web.mit.edu/trace/www/itrandom-revision.pdf 

[6] D. S. Lun, M. Medard, R. Koetter, and M. Effros, “On coding for 
reliable communication over packet networks,” submitted to IEEE Trans. 
Inform. Theory. [Online]. Available: http://arxiv.org/abs/cs.IT/0510070 

[7] K. Bharath-Kumar and J. M. Jaffe, “Routing to multiple destinations in 
computer networks,” IEEE Trans. Commun., vol. 31, no. 3, pp. 343-351, 
Mar. 1983. 

[8] B. M. Waxman, “Routing of multicast connections,” IEEE J. Select. 
Areas Commun., vol. 6, no. 9, pp. 1617-1622, Dec. 1988. 

[9] P. Winter, “Steiner problem in networks: A survey,” Networks, vol. 17, 
pp. 129-167, 1987. 

[10] S. Ramanathan, “Multicast tree generation in networks with asymmetric 
links,” lEEE/ACM Trans. Networking, vol. 4, no. 4, pp. 558—568, Aug. 
1996. 

[11] M. Charikar, C. Chekuri, T.-y. Cheung, Z. Dai, A. Goel, S. Guha, and 
M. Li, “Approximation algorithms for directed Steiner problems,” J. 
Algorithms, vol. 33, no. 1, pp. 73-91, Oct. 1999. 

[12] L. Zosin and S. Khuller, “On directed Steiner trees,” in Proc. 13th 
Annual ACM-SIAM Symposium on Discrete Algorithms (SODA 2002), 
2002, pp. 59-63. 

[13] J. E. Wieselthier, G. D. Nguyen, and A. Ephremides, “Energy-efficient 
broadcast and multicast trees in wireless networks,” Mobile Networks 
and Applications, vol. 7, pp. 481—492, 2002. 

[14] M. Imase and B. M. Waxman, “Dynamic Steiner tree problem,” SIAM 
J. Disc. Math., vol. 4, no. 3, pp. 369-384, Aug. 1991. 

[15] J. Westbrook and D. C. K. Yan, “Greedy algorithms for the on-line 
Steiner tree and generalized Steiner problems,” in Proc. Third Workshop 
on Algorithms and Data Structures (WADS ’93), 1993, pp. 622-633. 

[16] L. Song, R. W. Yeung, and N. Cai, “Zero-en'or network coding for 
acyclic networks,” IEEE Trans. Inform. Theory, vol. 49, no. 12, pp. 
3129-3139, Dec. 2003. 

[17] M. Medard, M. Effros, D. Karger, and T. Ho, “On coding for non¬ 
multicast networks,” in Proc. 4Ist Annual Allerton Conference on 
Communication, Control, and Computing, Oct. 2003. 

[18] A. Rasala Lehman and E. Lehman, “Complexity classification of 
network information flow problems,” in Proc. 4Ist Annual Allerton 
Conference on Communication, Control, and Computing, Oct. 2003. 

[19] S. Riis, “Linear versus non-linear Boolean functions in network flow,” 
in Proc. 2004 Conference on Information Sciences and Systems (CISS 
2004), Mai-. 2004. 

[20] R. Dougherty, C. Freiling, and K. Zeger, “Insufficiency of linear coding 
in network information flow,” IEEE Trans. Inform. Theory, vol. 51, no. 8, 
pp. 2745-2759, Aug. 2005. 

[21] R. W. Yeung, “Multilevel diversity coding with distortion,” IEEE Trans. 
Inform. Theory, vol. 41, no. 2, pp. 412^22, Mar. 1995. 

[22] Y. Cui, Y. Xue, and K. Nahrstedt, “Optimal distributed multicast routing 
using network coding: Theory and applications,” SIGMETRICS Perform. 
Eval. Rev., vol. 32, no. 2, pp. 47^9, 2004. 

[23] D. S. Lun, M. Medard, T. Ho, and R. Koetter, “Network coding with a 
cost criterion,” in Proc. 2004 International Symposium on Information 
Theory and its Applications (ISITA 2004), Oct. 2004, pp. 1232-1237. 

[24] Z. Li, B. Li, D. Jiang, and L. C. Lau, “On achieving optimal throughput 
with network coding,” in Proc. IEEE Infocom 2005, Mar. 2005. 

[25] Z. Li and B. Li, “Efficient and distributed computation of maximum 
multicast rates,” in Proc. IEEE Infocom 2005, Mar. 2005. 

[26] Y. Wu, P. A. Chou, and S.-Y. Kung, “Minimum-energy multicast in 
mobile ad hoc networks using network coding,” IEEE Trans. Commun., 
vol. 53, no. 11, pp. 1906-1918, Nov. 2005. 

[27] P. A. Chou, Y. Wu, and K. Jain, “Practical network coding,” in Proc. 
4Ist Annual Allerton Conference on Communication, Control, and 
Computing, Oct. 2003. 


[28] D. P. Bertsekas and R. Gallager, Data Networks, 2nd ed. Upper Saddle 
River, NJ: Prentice Hall, 1992. 

[29] D. P. Bertsekas, Network Optimization: Continuous and Discrete Mod¬ 
els. Belmont, MA: Athena Scientific, 1998. 

[30] R. K. Ahuja, T. L. Magnanti, and J. B. Orlin, Network Flows: Theory, 
Algorithms, and Applications. Upper Saddle River, NJ: Prentice Hall, 
1993. 

[31] D. P. Bertsekas and J. N. Tsitsiklis, Parallel and Distributed Computa¬ 
tion: Numerical Methods. Englewood Cliffs, NJ: Prentice Hall, 1989. 

[32] D. P. Bertsekas, Nonlinear Programming. Belmont, MA: Athena 
Scientific, 1995. 

[33] G. L. Nemhauser and L. A. Wolsey, Integer and Combinatorial Opti¬ 
mization. New York, NY: John Wiley & Sons, 1999. 

[34] H. D. Sherali and G. Choi, “Recovery of primal solutions when using 
subgradient optimization methods to solve Lagrangian duals of linear 
programs,” Open Res. Lett., vol. 19, pp. 105-113, 1996. 

[35] D. P. Bertsekas, L. C. Polymenakos, and P. Tseng, “An e-relaxation 
method for separable convex cost network flow problems,” SIAM J. 
Optirn., vol. 7, no. 3, pp. 853-870, Aug. 1997. 

[36] R. de Leone, R. R. Meyer, and A. Zakai'ian, “A partitioned e-relaxation 
algorithm for separable convex network flow problems,” Computational 
Optimization and Applications, vol. 12, no. 1-3, pp. 107—126, Jan. 1999. 

[37] S. Deb and R. Srikant, “Congestion control for fair resource allocation in 
networks with multicast flows,” lEEE/ACM Trans. Networking, vol. 12, 
no. 2, pp. 274-285, Apr. 2004. 

[38] A. Ouorou, P. Mahey, and J.-P. Vial, “A survey of algorithms for convex 
multicommodity flow problems,” Manage. Set, vol. 46, no. 1, pp. 126- 
147, Jan. 2000. 

[39] D. P. Bertsekas, “A class of optimal routing algorithms for communi¬ 
cation networks,” in Proc. 5th International Conference on Computers 
and Communication (ICCC ’80), Oct. 1980, pp. 71-76. 

[40] D. P. Bertsekas, E. M. Gafni, and R. G. Gallager, “Second derivative 
algorithms for minimum delay distributed routing in networks,” IEEE 
Trans. Commun., vol. 32, no. 8, pp. 911-919, Aug. 1984. 

[41] R. Srikant, The Mathematics of Internet Congestion Control. Boston, 
MA: Brikhauser, 2004. 

[42] R. L. Cruz and A. V. Santhanam, “Optimal routing, link scheduling and 
power control in multi-hop wireless networks,” in Proc. IEEE Infocom 
2003, vol. 1, Mar.-Apr. 2003, pp. 702-711. 

[43] K. Jain, J. Padhye, V. N. Padmanabhan, and L. Qiu, “Impact of 
interference on multi-hop wireless network performance,” in MobiCom 
’03: Proc. 9th Annual International Conference on Mobile Computing 
and Networking, 2003, pp. 66-80. 

[44] M. Johansson, L. Xiao, and S. Boyd, “Simultaneous routing and power 
allocation in CDMA wireless data networks,” in Proc. 2003 IEEE 
International Conference on Communications (ICC 2003), vol. 1, May 
2003, pp. 51-55. 

[45] L. Xiao, M. Johansson, and S. Boyd, “Simultaneous routing and resource 
allocation via dual decomposition,” IEEE Trans. Commun., vol. 52, 
no. 7, pp. 1136-1144, July 2004. 

[46] M. Kodialam and T. Nandagopal, “Characterizing achievable rates 
in multi-hop wireless mesh networks with orthogonal channels,” 
lEEE/ACM Trans. Networking, vol. 13, no. 4, pp. 868-880, Aug. 2005. 

[47] Y. Wu, P. A. Chou, Q. Zhang, K. Jain, W. Zhu, and S.-Y. Kung, “Network 
planning in wireless ad hoc networks: A cross-layer approach,” IEEE J. 
Select. Areas Commun., vol. 23, no. 1, pp. 136-150, Jan. 2005. 

[48] R. Mahajan, N. Spring, D. Wetherall, and T. Anderson, “Inferring 
link weights using end-to-end measurements,” in Proc. Second Internet 
Measurement Workshop (IMW 2002), 2002. 

[49] W. Liang, “Constructing minimum-energy broadcast trees in wireless ad 
hoc networks,” in Proc. 3rd ACM International Symposium on Mobile 
Ad Hoc Networking & Computing (MOBIHOC ’02), 2002, pp. 112-122. 

[50] A. Ahluwalia, E. Modiano, and L. Shu, “On the complexity and dis¬ 
tributed construction of energy-efficient broadcast trees in static ad hoc 
wireless networks,” in Proc. 2002 Conference on Information Sciences 
and Systems (CISS 2002), Mar. 2002. 

[51] M. Luby, “LT codes,” in Proc. 43rd Annual IEEE Symposium on 
Foundations of Computer Science, Nov. 2002, pp. 271-280. 

[52] A. Shokrollahi, “Raptor codes,” Jan. 2004, preprint. [Online]. Available: 
http ://algo. epfl. ch/contents/output/pubs/raptor.pdf 

[53] P. Pakzad, C. Fragouli, and A. Shokrollahi, “Coding schemes for line 
networks,” in Proc. 2005 IEEE International Symposium on Information 
Theory (ISIT 2005), Sept. 2005. 

[54] Y. Wu, P. A. Chou, and K. Jain, “A comparison of network coding 
and tree packing,” in Proc. 2004 IEEE International Symposium on 
Information Theory (ISIT 2004), June-July 2004. 


17 


[55] D. P. Berksekas, Dynamic Programming and Optimal Control, 2nd ed. 
Belmont, MA: Athena Scientific, 2001, vol. 2. 

[56] T. Ho and H. Viswanathan, “Dynamic algorithms for multicast with 
intra-session network coding,” in Proc. 43rd Annual Allerton Conference 
on Communication, Control, and Computing, Sept. 2005. 

[57] Y. Xi and E. M. Yeh, “Distributed algorithms for minimum cost multicast 
with network coding,” in Proc. 43rd Annual Allerton Conference on 
Communication, Control, and Computing, Sept. 2005.